草庐IT

c++ - 从 C++ 类制作 Visual C++ DLL

全部标签

c++ - vc2013中关于跨dll边界删除指针

来自Doesmsvcrtusesadifferentheapforallocationssince(vs2012/2010/2013),我了解到有可能跨模块边界删除obj甚至使用来自msvc2012或更新版本的MT选项,令人惊讶。但是,在我做了一些测试之后我很困惑(我的平台是win7中的vc2013update4)。我在dll中新建一个obj,并在exe中删除它。当dll和exe都用mt选项编译的时候,看起来确实运行良好。但是,当dll和exe都使用MTd编译时,会出现断言错误'_pfirstblock==phead'。有人能告诉我使用MT/MTd选项编译的模块可以在vs2013中跨模

c - 读取 ntdll.dll + offset 导致访问冲突

我试图逐字节读取加载到我的可执行文件中的ntdll.dll的内存。该可执行文件在我的x64windows7机器上编译为x32可执行文件。我编写了一个名为FindPattern的函数,它接收一个特定的字节数组,并在ntdll.dll模块中查找这个字节数组。我已经在其他模块上检查过这个功能,我确信它工作正常。现在当我在我的ntdll模块上使用这个函数时,它在读取内存ntdll+0x1000时崩溃。我在windbg上检查过这个,windbg也不能读取内存:0:000>dbntdll+FF0L2077df0ff00000000000000000-0000000000000000........

windows - 为 Windows 应用程序制作 .exe 可安装文件

我的问题很简单。我正在使用visualstudio2013,我开发了一个应用程序,其中包含一堆dll和一个.exe文件。我添加了SetupandpackageExtension使用我的vs2013,将文件捆绑到.msi和.exe文件中对我来说效果很好。我的问题:我知道仅.msi文件就足以安装该应用程序。是否可以有一个.exe文件?我想要一个.exe文件,双击.exe文件后将开始安装。我看到很多应用程序的工作方式与我所说的单个.exe文件的方式相同。我想知道我无法在网络上找到我的问题的答案。 最佳答案 您只需要WinZip、7-zip

windows - 如何制作虚幻引擎 4 全屏(Windows 包)

我是虚幻引擎4的新手,我需要一些帮助,我在互联网上找不到答案,所以我希望这里有人能提供帮助。当我打开游戏时转到打包项目(Windows)时,如何让它始终默认全屏显示?所以当我打开游戏时,它将全屏显示。是否有我可以用来执行此操作的蓝图?如果没有并且您必须对其进行编程,您能否告诉我我必须放置代码或其他内容的确切位置,因为就像我说的那样。我很新,大麦知道界面以及如何使用它。(我来自Unity) 最佳答案 如果你选择了“NewEditorWindow(PIE)”你可以按F11全屏播放,或者你可以使用控制台命令:r.SetRes[YourMo

c++ - 如何在Windows中制作superlu

我已经下载了armadillo6.5。它需要superLU(4.3)库来求解稀疏矩阵方程组。我已经从here下载了superlu但是当我想在Windows中制作它时,它给出了:(cdSRC;make)process_begin:CreateProcess(NULL,(cdSRC;make),...)failed.make(e=2):Thesystemcannotfindthefilespecified.Makefile:36:recipefortarget'superlulib'failedmake:***[superlulib]Error2如果我手动cd到SRC目录并在其中执行mak

c++ - 如何使用黑名单/通过唯一标识一个 dll 来阻止 dll 注入(inject)?

我目前被指派编写一段代码来确定一个dll是否被列入黑名单,如果是,则不应允许加载。GoogleChrome有这个功能,所以我检查了Googlechrome的代码,发现他们维护着一系列被列入黑名单的dll,他们可以保护自己不受这些dll的影响。我尝试了一些其他的东西,比如我试图改变被阻止的dll的导入表、dll的名称和许多其他东西,然后试图将它注入(inject)chrome,但不知何故chrome能够唯一地识别被注入(inject)的dll是一个列入黑名单的dll和防止它发生。有没有人对如何实现这一点有任何想法或指示??谢谢,迪帕克:) 最佳答案

使用 php5apache2_4.dll 时 php_intl.dll 不工作

在我安装的Windows764bit上:Apache2.4.23x86VC11线程安全php5.6.27-Win32-VC11-x86Apachehttpd.conf:...LoadModulephp5_module"D:/devapps/php/php5apache2_4.dll"AddHandlerapplication/x-httpd-php.phpPHPIniDir"D:/devapps/php"...一切正常,使用phpInfo()我看到加载的PHP.ini是正确的(PHPIniDir)并且启用了扩展intl:PHP.ini...extension_dir="D:/devap

c - 为什么我收到错误 "The program can' t start because msys-2.0.dll is missing from your computer”?有修复吗?

我用C写了一个很长的程序,所以我没有写完整的代码。这些是我使用的库(以防万一)#include#include#include#include#include#include#include#include"xlsxwriter.h"该程序在我的Windows计算机和我的工作计算机以及我有相同程序的地方运行完美。但是当我在同事电脑上运行时出现这个错误:Systemerror:Theprogramcan'tstartbecausemsys-2.0.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem.

c# - 注册免费 com dll 要求安装 .net framework 3.5,注册时运行正常

我有一个用C#编写的COMDLL。我已经尝试注册它并且它工作正常。我正在尝试免费注册使用它。我完全遵循了thisMSDN教程。SideBySideDLL源:usingSystem;usingSystem.Reflection;usingSystem.Runtime.InteropServices;[assembly:AssemblyVersion("1.0.0.0")][assembly:Guid("C49B4D72-DEB3-41F3-87DE-9AA0E0E99809")]//LIBID_SideBySidenamespaceSideBySide{[Guid("1289C276-6

windows - 在 Dll 的 .edata 部分中指定的 Dll 名称的作用

Dll的.edata部分除了单独的函数导出规范外,还包含一个指定Dll名称的字段(参见thisreference,字段“NameRVA”)。然而,在我能找到的所有文档中,导入的解析总是引用Dll文件名和路径,当然这些可能与本条目中指定的“记录的”Dll名称不同。这个字段的用途是什么?它在解决进口方面有什么作用吗? 最佳答案 调试原始内存时,加载DLL的文件名(和路径)可能不容易获得,导出表中的这个字段是识别特定内存区域被特定DLL占用的便捷方式.除了足以作为包含它的理由的调试值之外,Windows加载程序还可以在递归解析导入时使用此